package main.leetcode.primary.from301to400;

/**
 * 387. 字符串中的第一个唯一字符
 *
 * <p>给定一个字符串，找到它的第一个不重复的字符，并返回它的索引。如果不存在，则返回 -1。
 *
 * <p>示例：s = "leetcode" 返回 0
 *
 * <p>s = "loveleetcode" 返回 2
 *
 * <p>提示：你可以假定该字符串只包含小写字母。
 */
public class ex387 {
    public static void main(String[] args) {
        System.out.println(new ex387().firstUniqChar("leetcode"));
    }

    public int firstUniqChar(String s) {
        char[] chars = new char[26];
        for (char c : s.toCharArray()) {
            ++chars[c - 'a'];
        }
        for (int i = 0; i < s.length(); ++i) {
            if (chars[s.charAt(i) - 'a'] == 1) {
                return i;
            }
        }
        return 0;
    }
}
